const express = require('express')
const app = express()
app.listen(7779)

//导入路由
let frontRouter = require('./router/front/index')
let adminRouter = require('./router/admin/index')


//导入记录日志的中间件
const writeLog = require('./middleware/writeLog')

//导入写错误日志的工具库
const writeErr = require('./utils/writeErr')

//导入响应信息函数
const xy = require('./utils/xy')

//导入获取body-parser
const bodyParser = require('body-parser')

//日志记录中间件  应用级别全局中间件
app.use(writeLog) // 会经过后面的请求都会先经过这个中间件

//获取post数据的中间件
app.use(bodyParser.urlencoded({
    extended: false
}))

//前台操作 针对用户的操作
app.use('/front', frontRouter)


//后台操作 -管理员操作的  例如添加一些商品 
app.use('/admin', adminRouter)

//异常处理中间件
app.use((err, req, resp, next) => {
    //将错误信息记录在日志中
    //读取日志文件 - 将最后的ok替换成err错误信息
    writeErr(err)
    //自定义相应错误信息
    xy(resp, 500, '系统繁忙，稍后再试！')
})

//404中间件
app.use((req, resp, next) => {
    writeErr('404')
    //自定义响应404信息
    xy(resp, 404, '请求路径错误！')
})